package com.net.xpay.core.model;

import com.net.common.model.PagedModel;
import com.net.xpay.core.enums.SafePayOrderStatus;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 2020/5/11 15:36

 */
@Getter
@Setter
@NoArgsConstructor
public class SafePayOrderSearchModel extends PagedModel {
    @ApiModelProperty(notes = "批次id")
    private Long batchId;

    @ApiModelProperty(notes = "状态")
    private SafePayOrderStatus status;

    @ApiModelProperty(notes = "支付宝账号")
    private String alipayNickName;

    @ApiModelProperty(notes = "状态")
    private List<SafePayOrderStatus> statusList;

    @ApiModelProperty(notes = "导入的明细外部订单号")
    private String importBizNo;

    @ApiModelProperty(notes = "外部批次")
    private String importBatchNo;

    @ApiModelProperty(notes = "支付宝转账单据号")
    private String orderId;

    @ApiModelProperty(notes = "支付宝支付资金流水号")
    private String payFundOrderId;

    @ApiModelProperty(notes = "收款方账号，传入支付宝账号或者支付宝uid test@taobao.com 必选")
    private String identity;

    @ApiModelProperty(notes = "用户编号")
    private Long userId;

    @ApiModelProperty(notes = "最小转账金额")
    private Long minTransAmount;

    @ApiModelProperty(notes = "最小转账金额")
    private Long maxTransAmount;

    @ApiModelProperty(notes = "最小完成时间")
    private LocalDateTime minEndTime;

    @ApiModelProperty(notes = "最大完成时间")
    private LocalDateTime maxEndTime;

    @ApiModelProperty(notes = "最小创建时间")
    private LocalDateTime minCreateTime;

    @ApiModelProperty(notes = "最大创建时间")
    private LocalDateTime maxCreateTime;

    @ApiModelProperty(notes = "最小创建时间")
    private LocalDateTime minStartTime;

    @ApiModelProperty(notes = "最大创建时间")
    private LocalDateTime maxStartTime;

    public static SafePayOrderSearchModel getInstance() {
        return new SafePayOrderSearchModel();
    }
}
